游戏
chat
发送聊天
- 参数
- target (string) - 聊天对象
- 全体 : 所有玩家都能看到聊天内容
- 队伍 : 只有同一个队伍的玩家能看到聊天内容
- msg (string) - 聊天内容
- target (string) - 聊天对象
base.game:chat('队伍', '大招准备就绪!')
exit
退出游戏
base.game:exit()
input_mouse
获取鼠标位置
- 返回
- point (point) - 位置
local point = base.game:input_mouse()
key_state
获取按键状态
- 参数
- key (string) - 按键名
- 返回
- state (boolean) - 是否按下
按键名使用"Ctrl"
来判断任意一个Ctrl键,使用"LeftCtrl"
与"RightCtrl"
来精确判断某一个Ctrl键。Alt键与Shift键同理。
local state = base.game:key_state 'Ctrl'
selected_unit
获取选中的单位
- 返回
- unit (unit) - 选中的单位
如果没有选中单位,则返回nil
。
local unit = base.game:selected_unit()
show_timer
获取显示时间
- 返回
- time (number) - 显示时间(秒)
负数表示处于倒计时状态。
local time = base.game:show_timer()
set_game_scene
加载游戏场景。 可以在MapInfo.ini中配置bAutoLoadScene来控制是否要自动加载场景。
客户端aip:
- 切换客户端场景(影响地形、小地图、声音):
- 参数
- scene_name (string) 目标场景名称
- map_file (string) map.xml文件名
- height_file (string) HeightData.dat文件名
- sight_file (string) Sight.dat文件名
- minmap_template_name(string) MiniMap_Template 小地图模板名称
- 返回
- success (bool) 是否创建成功(太早创建可能会失败,一般在收到'游戏-属性变化'后调用此方法)
local result = base.game:set_game_scene('scene_name', 'map.xml', 'HeightData.dat', 'Sight.dat', 'minimap_template_name')
use_light_group
切换灯光组
- 参数
- path (string) light group 文件资源路径
- time (nember) 切换时间
- 返回
--两秒内切换到plane灯光组
game.use_light_group('Editor/Res/Light/plane.lightgroup', 2)
get_actors_at_screen_xy
获取屏幕位置的单位和模型表现
- 参数
- x (number) 屏幕位置x
- y (nember) 屏幕位置y
- 返回
摄像机对屏幕位置发射射线所碰到的所有单位或模型表现的id列表,单位的id
>
0, 模型表现的id<
0
--获取鼠标位置并返回鼠标位置对应的所有单位和模型表现的id
local x,y = common.get_mouse_screen_pos()
local actors = game.get_actors_at_screen_xy(x, y)
if actors then
for k, v in pairs(actors) do -- v为id
if v > 0 then
log.info('unit id', v, base.unit(v))
elseif v < 0 then
log.info('actor id', v, base.actor_info().actor_map[v])
end
end
end